home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _6200B2ABD73E4222955242D783D8A12F < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.3 KB  |  59 lines

  1. // ===============================================================
  2. // Vertex Program: hologram
  3. // Description: used in holograms..
  4. // Last Update: 22/10/2003
  5. //
  6. // Coder: Tiago Sousa
  7. // ===============================================================
  8.  
  9. #include "../CGVPMacro.csi"
  10.  
  11. VertAttributes { POSITION_3 TEXCOORD0_2 TNORMAL_3 }
  12.  
  13. // setup vertex components
  14. MainInput
  15. {
  16.   // common model view matrix
  17.   VIEWPROJ_MATRIX,  
  18.   uniform float4   CameraPos,  
  19.   uniform float4   TexGenRipple0,
  20.   uniform float4   TexGenRipple1,
  21.   uniform float4   TexShiftRipple,
  22.   uniform float4   TexDetailScale,
  23.   uniform float4   TexMovSpeed,
  24.   uniform float4   ScreenSize
  25. }
  26.  
  27. DeclarationsScript
  28. {
  29.   // vertex input
  30.   IN_T0_TN
  31.   // vertex output
  32.   OUT_T0_T1_T2
  33. }
  34.  
  35. // output vertex position
  36. PositionScript = PosCommon
  37.  
  38. CoreScript
  39. {         
  40.   
  41.   float3 viewVec = normalize(CameraPos.xyz-vPos.xyz);
  42.   float  fDot =dot(viewVec, IN.TNormal.xyz);
  43.   fDot*=fDot;  
  44.   //fDot=max(fDot*0.5+0.5, 0);
  45.  
  46.   // output texture coordinates           
  47.   OUT.Tex0.xy = float2(fDot, 1);
  48.   OUT.Tex1.xy = IN.TexCoord0.xy;
  49.  
  50.   float4 vHPos = mul(ModelViewProj, vPos);     
  51.   float2 vTex=(vHPos.xy/vHPos.w  + 1)*0.5;  
  52.   
  53.   vTex.x*=15;  
  54.   vTex.y-=2*sin(TexShiftRipple.x*100);
  55.   OUT.Tex2.xy = vTex.xy;
  56.  
  57.   return OUT;
  58. }
  59.